package ways

/*
go语言中数据类型分为四类：基础类型、复合类型、引用类型和接口类型
1. 基础类型：数字、字符串、布尔类型
2. 复合数据类型：数组、结构体。是通过组合简单类型，来表达更加复杂的数据结构。
3. 引用类型：指针、切片字典、函数、通道
虽然数据种类很多，但它们都是对程序中一个变量或状态的间接引用。这意味着对任一引用类型数据的修改都会影响所有该引用的拷贝。

*/

type className interface {
}
type school map[string]interface {
}

type Teacher struct {
	name string
	className
	school
}

//我们可以把Go中的struct看作是不支持继承行为的轻量级的“类”
//从语法上看，Interface定义了一个或一组method(s)，这些method(s)只有函数签名，没有具体的实现代码
type Car interface {
	run(i, j string) string
	stop(i int) int
}

func getCar(c Car) {
	c.run("a", "b")
}
